package myjava.test.xml.reader;

import java.util.List;

import org.dom4j.Element;

/**
 * 提供一些xml文档操作的方法
 * @author zichaoyang
 *
 */
public interface DealContext extends Context {

	
	
	/**
	 * 获得所有节点的儿子节点，返回一个Element列表
	 * @param parentElement 所要查询的节点
	 * @return
	 */
	public List<Element> getSonElement(String parentElement, String id, String value);
	
	public List<Element> getSonElement(Element parentElement);
	
	/**
	 * 默认节点的一个attribute的命名为id，该值为value
	 */
	public List<Element> getSonElement(String parentElement, String value);
	
	/**
	 * 获取一个节点的父亲节点
	 * @param sonElement 所要查询的节点
	 * @return 该节点的父亲
	 */
	public Element getParentElement(String sonElement, String id, String value);
	
	/**
	 * 默认节点的一个attribute的命名为id，该值为value
	 */
	public Element getParentElement(Element sonElement);
	
	
	/**
	 * 获取节点的attribute的值
	 * @param 所要查询的节点
	 * @param parentElement 父节点
	 * @param attribute
	 * @return
	 */
	public abstract String getAttributeValue(Element element, String attribute);
	
	public abstract List<String> getAttributeValue(String parentElement, String id, String value, String attribute);
	
	public abstract List<String> getAttributrValue(String parentElement, String value, String attribute);
	
	//Test
//	public Element getElement(String element, String id, String value);
	
	public Element getParent();
	
}
